One difficulty in computer technology has always been the fact that computer programs require access to a main memory of a computer system upon execution of the programs, which may often lead to a shortage in the main memory. This may result in significant access time delays, manifesting themselves in an (partially significant) expansion of the time period for process completion within a computer system.
Especially in so-called “in-memory computing,” i.e., when processing program data purely within the main memory of a computer system, such time delays manifest themselves in database management systems, for example, because huge parts of the database or the entire database is stored in the main memory. The memory space required for the database often significantly exceeds the physically provided memory space.
Known approaches to avoid a shortage in main memory and time delays of the above type provide that program data is distributed across different memory hierarchies. This way, program data can be swapped out of the main memory into a back-up storage, e.g., a hard disk (swap storage).
However, such approaches come with the disadvantage that valuable memory space in the main memory is nevertheless continuously used by running programs so that a time delay or shortage in memory can be counteracted only to a limited extent. This results in time delays during execution of program data, for example, due to the fact that program data need to be moved back and forth between the main memory and a back-up storage (swap storage, system disk or hard disk) by a superordinate memory management unit.
Thus, it could be helpful to improve access to a main memory of a computer system such that a shortage in the main memory and a time delay can be minimized or suppressed in the first place, which leads to a more rapid completion of processes in the computer system.